package com.cloud.goldapp.contriller;

import com.cloud.goldapp.entity.User;
import com.cloud.goldapp.repository.UserRepository;
import com.cloud.goldapp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {

  @Autowired
  private UserService userService;


//  @GetMapping("/{id}")
//  public User findById(@PathVariable Long id) {
//
//  }

  /**
   * 获取用户信息列表
   * @return
   */
  @GetMapping("/list")
  public List<User> getAll() {

    return userService.findAll();
  }

  /**
   * 新增用户信息
   * 可以传参数也可以传实体对象
   * spring boot自定对应参数
   */
  @PostMapping("/add")
  public User post(User user) {
//    User user = new User();
//    user.setPassword(password);
//    user.setUsername(username);

    return userService.save(user);
  }

  /**
   * 获取一个用户的信息
   */
  @GetMapping("/list/{id}")
  public User getOne(@PathVariable long id) {
    return userService.findOne(id);
  }

  /**
   * 更新用户信息
   */
  @PutMapping("/update")
  public User update(@RequestParam long id, @RequestParam String username, @RequestParam String password) {
    User user = new User();
    user.setId(id);
    user.setPassword(password);
    user.setUsername(username);
    return userService.save(user);
  }

  /**
   * 删除一个用户信息
   */
  @DeleteMapping("/list/{id}")
  public void delete(@PathVariable long id) {
    userService.delete(id);
  }

}
